package com.cqeec.gams.service.core;

import java.util.List;

/**
 * 基本服务（表通用的增删改查）。
 * 
 * @author 唐礼飞。
 *
 */
public interface BaseService<T> {
	/**
	 * 统计所有记录数。
	 * 
	 * @return 所有记录数。
	 */
	public long count();

	/**
	 * 查询所有实体。
	 * 
	 * @return 所有实体。
	 */
	public List<T> findAll();

	/**
	 * 根据角色标识查询实体信息。
	 * 
	 * @param id 标识。
	 * @return 实体。
	 */
	public T findById(String id);

	/**
	 * 不带条件的分页查询。
	 * 
	 * @param pageNumber 页码。
	 * @param pageSize   每页记录数。
	 * @return 分页的实体信息。
	 */
	public List<T> findPage(int pageNumber, int pageSize);

	/**
	 * 插入实体。
	 * 
	 * @param entity 实体。
	 */
	public void insert(T entity);

	/**
	 * 根据角色标识修改实体信息。
	 * 
	 * @param entity 实体。
	 */
	public void update(T entity);

	/**
	 * 根据角色标识删除实体。
	 * 
	 * @param id 标识。
	 */
	public void delete(String id);
}
